package response

// DatabaseInfo 数据库信息结构
type DatabaseInfo struct {
	// 数据库名称
	Name string `json:"name"`
	// 表列表
	Tables []TableInfo `json:"tables"`
	// 是否是当前数据库
	Current bool `json:"current"`
}

// TableInfo 表基本信息结构
type TableInfo struct {
	// 表名
	Name string `json:"name"`
	// 类型（表或视图）
	Type string `json:"type"`
}

// TableStructure 表结构详细信息
type TableStructure struct {
	// 表名
	Name string `json:"name"`
	// 引擎
	Engine string `json:"engine"`
	// 表注释
	Comment string `json:"comment"`
	// 创建时间
	CreateTime string `json:"createTime"`
	// 更新时间
	UpdateTime string `json:"updateTime"`
	// 字段列表
	Columns []ColumnInfo `json:"columns"`
	// 主键列表
	PrimaryKeys []string `json:"primaryKeys"`
	// 索引列表
	Indexes []IndexInfo `json:"indexes"`
}

// ColumnInfo 字段信息结构
type ColumnInfo struct {
	// 字段名
	Name string `json:"name"`
	// 字段类型
	Type string `json:"type"`
	// 键类型
	Key string `json:"key"`
	// 是否可空
	Nullable string `json:"nullable"`
	// 默认值
	DefaultValue interface{} `json:"defaultValue"`
	// 额外信息
	Extra string `json:"extra"`
	// 注释
	Comment string `json:"comment"`
}

// IndexInfo 索引信息结构
type IndexInfo struct {
	// 索引名
	Name string `json:"name"`
	// 是否非唯一
	NonUnique int `json:"nonUnique"`
	// 包含的字段，逗号分隔
	Columns string `json:"columns"`
}
